Grid computing is a method of harnessing the power of many computational resources in a network. Grid computing is a distributed computer infrastructure involving large-scale sharing, innovative applications and/or high performance processing and network bandwidth.
Referring to FIG. 1, a grid computing environment according to the conventional art is shown. As depicted in FIG. 1, the grid computing environment comprises a plurality of heterogeneous computing nodes distributed across multiple administrative domains. Multiple virtual organizations (e.g., VO X, VO Y, VO Z) exist over the heterogeneous nodes. A node (hereinafter also referred to as a computing resource) may be a part of several virtual organizations. An end-user (e.g., USER M, USER N, USER O) may need to access remote nodes either in the same administrative domain 105 or across domains 110, 115, and may desire interactive sessions with these nodes.
The interactivity may be either graphical or text-based. Exemplary interactive session may include, graphics visualization applications, engineering application like computer aided design or mechanical computer aided design (CAD/MCAD), digital content creation, streaming media, video games, text editing, command line interactions, e-mail applications, and the like. The end-user should also be able to view the graphical and multimedia output of the submitted jobs and application through such graphical interactive sessions. The interaction of the enduser with the remote node may also involve the execution of both installed applications and user specified binaries.
Traditionally, grid computing has provided for the execution of batch jobs in the scientific and academic community. Batch execution on a grid computing environment requires authentication, authorization, resource access, resource discovery, and other services. In support of batch processing of jobs on a grid computing environment, protocols, services, application programming interfaces, and software development kits have been developed. The conventional method and system are not particularly suited for interactive grid computing sessions.
Access control to remote nodes is challenging in a grid interactive environment. Malicious users might take advantage of the interactivity by identifying and exploiting potential security loopholes. For example, malicious users may be able to submit unauthorized jobs to the remote machine. Session and account management is also challenging in a grid interactive environment. Without access control during an interactive session, an end-user may be permitted unrestricted access time to the remote node. Furthermore, quality of service and/or other performance metrics are difficult to deliver in graphical interactive sessions.
A grid computing infrastructure that can hide the complexities of resource management from the user and that can provide secure graphical and multimedia interactive sessions would be an improvement over the conventional art.